---@meta _

---UI ActionButtonDown(id)   - Press the specified action button.
---UI ActionButtonUp(id)   - Release the specified action button.

---[Documentation](https://warcraft.wiki.gg/wiki/API_ActionHasRange)
---@param slotID number
---@return boolean hasRange
function ActionHasRange(slotID) end

---UI BonusActionButtonDown - Trigger the specified bonus(pet or minion) action button.
---UI BonusActionButtonUp - Release the specified bonus(pet or minion) action button.

---[Documentation](https://warcraft.wiki.gg/wiki/API_CameraOrSelectOrMoveStart)
function CameraOrSelectOrMoveStart() end

---[Documentation](https://warcraft.wiki.gg/wiki/API_CameraOrSelectOrMoveStop)
---@param stickyFlag? boolean
function CameraOrSelectOrMoveStop(stickyFlag) end

---[Documentation](https://warcraft.wiki.gg/wiki/API_ChangeActionBarPage)
---@param page number
function ChangeActionBarPage(page) end

---[Documentation](https://warcraft.wiki.gg/wiki/API_GetActionBarToggles)
---@return boolean bar1
---@return boolean bar2
---@return boolean bar3
---@return boolean bar4
---@return boolean bar5
---@return boolean bar6
---@return boolean bar7
function GetActionBarToggles() end

---[Documentation](https://warcraft.wiki.gg/wiki/API_GetActionCooldown)
---@param slot number
---@return number start
---@return number duration
---@return number enable
---@return number modRate
function GetActionCooldown(slot) end

---[Documentation](https://warcraft.wiki.gg/wiki/API_GetActionCount)
---@param actionSlot number
---@return number text
function GetActionCount(actionSlot) end

---[Documentation](https://warcraft.wiki.gg/wiki/API_GetActionText)
---@param actionSlot number
---@return string text
function GetActionText(actionSlot) end

---Gets the texture path for the specified action.
---@param slot number
---@return string texture
function GetActionTexture(slot) end





---[Documentation](https://warcraft.wiki.gg/wiki/API_HasAction)
---@param actionSlot number
---@return boolean hasAction
function HasAction(actionSlot) end

---[Documentation](https://warcraft.wiki.gg/wiki/API_IsEquippedAction)
---Return 1 if an action is equipped (i.e. connected to an item that must be equipped), nil otherwise.
---@param slotID number
---@return boolean isEquipped
function IsEquippedAction(slotID) end

---[Documentation](https://warcraft.wiki.gg/wiki/API_IsConsumableAction)
---Return 1 if an action is consumable (i.e. has a count), nil otherwise.
---@param slotID number
---@return boolean isConsumable
function IsConsumableAction(slotID) end

--[[
动作条插槽文档 https://warcraft.wiki.gg/wiki/Action_slot
物品计数 https://warcraft.wiki.gg/wiki/API_GetActionCount

UI ActionButtonDown(id)   - Press the specified action button.
UI ActionButtonUp(id)   - Release the specified action button.
ActionHasRange(slot)   - Determine if the specified action is a range restriction (1 if yes, nil if no)
UI BonusActionButtonDown - Trigger the specified bonus(pet or minion) action button.
UI BonusActionButtonUp - Release the specified bonus(pet or minion) action button.
PROTECTED CameraOrSelectOrMoveStart()   - Begin "Left click" in the 3D world. (1.10 - Protected)
PROTECTED CameraOrSelectOrMoveStop([stickyFlag])   - End "Left click" in the 3D world. (1.10 - Protected)
ChangeActionBarPage()   - Changes the current action button set to CURRENT_ACTIONBAR_PAGE.
GetActionBarToggles()   - Return the toggles for each action bar.
GetActionCooldown(slot)   - This returns the cooldown values of the specified action..
GetActionCount(slot)   - Get the count (bandage/potion/etc) for an action, returns 0 if none or not applicable.
GetActionText(slot)   - Get the text label (macros, etc) for an action, returns nil if none.
GetActionTexture(slot)   - Gets the texture path for the specified action.
GetBonusBarOffset()   - Determine which page of bonus actions to show.
HasAction(slot)   - Returns 1 if the player has an action in the specified slot, nil otherwise.
IsActionInRange(slot)   - Test if an action is in range (1=yes, 0=no, nil=not applicable).
IsAttackAction(slot)   - Return 1 if an action is an 'attack' action (flashes during combat), nil otherwise.
IsAutoRepeatAction(slot)   - Return 1 if an action is auto-repeating, nil otherwise.
IsCurrentAction(slot)   - Return 1 if an action is the one currently underway, nil otherwise.
IsUsableAction(slot)   - Return 1 if an action can be used at present, nil otherwise.
IsConsumableAction(slot)   - Return 1 if an action is consumable (i.e. has a count), nil otherwise.
IsEquippedAction(slot)   - Return 1 if an action is equipped (i.e. connected to an item that must be equipped), nil otherwise.
PetHasActionBar()   - Determine if player has a pet with an action bar.
PickupAction(slot)   - Drags an action out of the specified quickbar slot and holds it on the cursor.
PickupPetAction(slot)   - Drags an action from the specified pet action bar slot into the cursor.
PlaceAction(slot)   - Drops an action from the cursor into the specified quickbar slot.
SetActionBarToggles(show1,show2,show3,show4[, alwaysShow])   - Set show toggle for each action bar   - 'alwaysShow' added in 1.12
PROTECTED TurnOrActionStart()   - Begin "Right Click" in the 3D world. (1.10 - Protected)
PROTECTED TurnOrActionStop()   - End "Right Click" in the 3D world. (1.10 - Protected)
]]
-- UseAction(slot[, checkCursor[, onSelf]])   - This instructs the interface to use the action associated with the specified ID, optionally on the player (regardless of target).